# 员工薪资管理系统

# 基础员工类
class 员工:
    def __init__(self, 姓名, 工号):
        self.姓名 = 姓名
        self.工号 = 工号
    
    def 显示信息(self):
        print(f"员工信息：姓名 = {self.姓名}, 工号 = {self.工号}")
    
    def 计算薪资(self):
        return 0  # 基类中的薪资计算方法将被子类重写

# 全职员工类
class 全职员工(员工):
    def __init__(self, 姓名, 工号, 月薪):
        super().__init__(姓名, 工号)  # 调用父类的初始化方法
        self.月薪 = 月薪
    
    def 显示信息(self):
        super().显示信息()  # 调用父类的显示信息方法
        print(f"员工类型：全职, 月薪 = {self.月薪}")
    
    def 计算薪资(self):
        return self.月薪  # 重写薪资计算方法

# 兼职员工类
class 兼职员工(员工):
    def __init__(self, 姓名, 工号, 时薪, 工作小时):
        super().__init__(姓名, 工号)  # 调用父类的初始化方法
        self.时薪 = 时薪
        self.工作小时 = 工作小时
    
    def 显示信息(self):
        super().显示信息()  # 调用父类的显示信息方法
        print(f"员工类型：兼职, 时薪 = {self.时薪}, 工作小时 = {self.工作小时}")
    
    def 计算薪资(self):
        return self.时薪 * self.工作小时  # 重写薪资计算方法

# 测试代码
if __name__ == "__main__":
    # 创建员工对象
    员工1 = 全职员工("张三", "FT001", 8000)
    员工2 = 兼职员工("李四", "PT001", 50, 80)
    
    # 显示员工信息
    print("===== 员工信息 =====")
    员工1.显示信息()
    print(f"薪资：{员工1.计算薪资()}")
    print("-" * 20)
    员工2.显示信息()
    print(f"薪资：{员工2.计算薪资()}")
    
    # 演示多态
    print("\n===== 员工列表 =====")
    员工列表 = [员工1, 员工2]
    for 员工 in 员工列表:
        员工.显示信息()
        print(f"薪资：{员工.计算薪资()}")
        print("-" * 20)